#include <iostream>
#include <string>
using namespace std;

const int N = 100003; //一般哈希表都会要求开的大小是最大范围大的第一个质数
string op;
int n, x;

class my_hash
{
private:
    int h[N];  //各个哈希后的结果，每个对应一个链表头
    int e[N];  //用来存储各个链表内部的数据
    int ne[N]; //用来存储每个链表数据的下一个数据
    int idx;   //用来表示链表开拓到哪儿了
    int ha(int x);

public:
    my_hash();
    void insert(int x);
    bool find(int x);
};

my_hash::my_hash()
{
    idx = 0;
    for (int i = 0; i < N; ++i)
        h[i] = -1;
}

int my_hash::ha(int x)
{
    return (x % N + N) % N;
}

void my_hash::insert(int x)
{
    int k = ha(x);
    e[idx] = x;
    ne[idx] = h[k];
    h[k] = idx++;
    return;
}

bool my_hash::find(int x)
{
    for (int k = h[ha(x)]; k != -1; k = ne[k])
        if (e[k] == x)
            return true;
    return false;
}

int main()
{
    cin >> n;
    my_hash H;
    while (n--)
    {
        cin >> op;
        if (op[0] == 'I')
        {
            cin >> x;
            H.insert(x);
        }
        else
        {
            cin >> x;
            if (H.find(x))
                cout << "Yes" << endl;
            else
                cout << "No" << endl;
        }
    }
    return 0;
}